package com.gthncz;

public class IntegerDemo {

    public static void main(String[] args) {
        // 1. new 方式: 两个变量地址不同
        Integer a = new Integer(100);
        Integer b = new Integer((100));
        System.out.println(a == b);  // false

        // 2. Integer 与 int 的比较: Integer 变量会自动拆箱
        int c = 100;
        System.out.println(a == c);  // true
        int d = 1024;
        System.out.println(a == d);  // false

        // 3. 非 new 与 new 比较: 总是地址不同
        Integer m = 100;  // Integer.valueOf(100);
        Integer n = new Integer(100);
        System.out.println(m == n);  // false

        // 4.两个非 new 比较: [-128, 127] 时比较值, 否则false
        Integer i = 100;
        Integer j = 100;
        System.out.println(i == j);  // true

        Integer ii = 256;
        Integer jj = 256;
        System.out.println(ii == jj); // false
    }

}
